A storage subsystem generally comprises a storage controller and nonvolatile storage media capable of allowing random access. The storage media can be, for example, a disk array composed of a large number of hard disk drives (HDDs) and/or solid state drives (SSDs). The storage controller comprises a frontend interface (abbreviated as FEIF) for coupling a host system, a backend interface (abbreviated as BEIF) for coupling a disk array, and a cache memory (abbreviated as CM) for temporarily storing the data written to and read from the disk array by the host system. In addition, the storage controller has a processor for controlling data transfer between the host system and the cache memory and between the disk array and the cache memory.
A storage subsystem including a plurality of processors comprises a shared memory (abbreviated as SM) for storing the control information of the storage subsystem that can be accessed from the plurality of processors within the storage controller. The control information of the storage subsystem includes, for example, an address translation table for translating a data storage destination address information referred to by the host system and a data storage destination address information in a disk array used within the storage subsystem.
In a storage controller adopting general-purpose technology, the cache memory and the shared memory are arranged within the main memory coupled to a general-purpose processor (hereinafter referred to as processor). A “PCI Express” (Registered Trademark) is known as a standard specification of the communication network for coupling the processor with FEIF, BEIF and the like.
In a storage subsystem requiring high reliability, the components within the storage controller including the shared memory provide redundancy. The storage controller is composed of two or more clusters and the shared memories are mirrored among the clusters. The mirrored shared memories are used not only to ensure high reliability but also to enhance the performance of the storage subsystem, such as load balancing among a plurality of clusters, operating a plurality of ports through cooperation of clusters and backup processing.
Patent literature 1 discloses an art related to a storage subsystem comprising mirrored shared memories. Patent literature 2 discloses an art related to access order enforcement regarding shared memories. Patent literature 3 discloses an art related to a storage subsystem composed of a plurality of clusters. Further, non patent literature 1 discloses a multicast standardized via PCI Express. Non patent literature 2 discloses an art related to inter-cluster coupling having applied PCI Express systems.